常用git和repo命令 |
您所在的位置:网站首页 › git svn clone全部目录 › 常用git和repo命令 |
常用git和repo命令
文章收集了最近使用的一些repo和git命令,下图是个人理解的git文件状态转换图。 其他命令 git config -l # 参看配置信息 git show HEAD^ # 查看HEAD的上一个版本信息 git show HEAD~4 # 查看HEAD的上溯4代的信息 git reset --hard HEAD^^ # 回退两个版本 git reset --hard 8308f03 # 回退到指定的commitID前7位的版本 git reset 9e5e64a # 将会使 master 指向 9e5e64a --hard 会强制覆盖了工作目录中的文件 git clean -dfx #清除库上没有的东西 git remote -v # 参看远程仓库 git branch -a # 参看远程分支 # 查看当前git分支所属 git branch -vv git branch | grep "*" # git log 附带一系列的总结性选项。如想看到每次提交的简略的统计信息,你可以使用 --stat 选项 git log --stat # --shortstat 只显示 --stat 中最后的行数修改添加移除统计 # --name-status 显示新增、修改、删除的文件清单。 git log --oneline --decorate --graph --all # 图像显示git log信息 git log --pretty=format:"%h - %cd %s" --graph # 列出指定格式的log git log -since="2 weeks ago" # 显示2周前到现在所有的历史记录 git reflog # 查看引用日志 # 从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交 git rm # git mv ...远程同步 # 下载远程仓库的所有变动 git fetch [remote] # 显示所有远程仓库 git remote -v # 显示某个远程仓库的信息 git remote show [remote] # 增加一个新的远程仓库,并命名 git remote add [shortname] [url] # 取回远程仓库的变化,并与本地分支合并 git pull [remote] [branch] # 上传本地指定分支到远程仓库 git push [remote] [branch] # 强行推送当前分支到远程仓库,即使有冲突 git push [remote] --force # 推送所有分支到远程仓库 git push [remote] --all # git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作 # git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作 git fetch [remote-name] #如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 #所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 #必须注意 git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。 #当准备好时你必须手动将其合并入你的工作。 #git clone 命令会自动设置本地 master 分支跟踪克隆的远程仓库的 master 分支(或不管是什么名字的默认分支)。 #运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支 #当 git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容。它只会获取数据然后让你自己合并。 #git pull 在大多数情况下它的含义是一个 git fetch 紧接着一个git merge 命令。 #不管它是显式地设置还是通过clone或checkout 命令为你创建的,git pull都会查找当前分支所跟踪的服务器与分支,从服务器上抓取数据然后尝试合并入那个远程分支。 #由于 git pull 的魔法经常令人困惑所以通常单独显式地使用 fetch 与 merge 命令会更好一些。 # 当你想要将 master 分支推送到 origin 服务器时(再次说明,克隆时通常会自动帮你设置好那两个名字),那么运行这个命令就可以将你所做的备份到服务器 git push origin master # 查看某一个远程仓库的更多信息 git remote show origin撤销 #to discard changes in working directory是一个危险的命令,你对那个文件做的任何修改都会消失. git checkout -- ..." # 恢复暂存区的指定文件到工作区 git checkout [file] # 恢复某个commit的指定文件到暂存区和工作区 git checkout [commit] [file] # 恢复暂存区的所有文件到工作区 git checkout . # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 git reset [file] # 重置暂存区与工作区,与上一次commit保持一致 git reset --hard # 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 git reset [commit] # 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 git reset --hard [commit] # 重置当前HEAD为指定commit,但保持暂存区和工作区不变 git reset --keep [commit] # 新建一个commit,用来撤销指定commit # 后者的所有变化都将被前者抵消,并且应用到当前分支 git revert [commit] # 暂时将未提交的变化移除,稍后再移入 git stash git stash pop repo常用命令 repo init -u URL -b ........ # 创建.repo repo upload # 将代码提交到gerrit. repo abandon master # 放弃master分支 repo forall -c "git reset --hard HEAD" # 所有代码执行git命令,回退到HEAD # repo sync相当于git clone会把repository中的所有内容拷贝到本地,非首次运行repo sync相当于更新和合并. # repo sync会更新.repo下面的文件,如果在merge的过程中出现冲突,这需要手动运行git rebase --continue. repo sync -c -j 4 repo start master --all # 创建新分支 Git-SVN常用命令若服务器使用的 SVN,但是本地想要体验 Git 的本地分支,离线操作等功能,可以使用 Git-SVN功能。 repo 使用的更详细参考: 常用 Git 命令清单——阮一峰 Repo的理解及用法小结(1) Repo的理解及用法小结(2) repo Git和Repo管理使用简要介绍 Git使用教程; Git命令解析 - init、add、commit; git使用的更详细参考: 可以百度“Pro Git 中文版”这个很不错的资料。 Pro Git(中文版); 当然,windows下不考虑逼格的话,还是用可视化界面吧,下载地址:git-gui ; 参考教程: gitgui可视化工具的使用(超详细); Git可视化教程——Git Gui的使用; Git可视化极简易教程; 45个 GIT 操作场景; 对比 Git 与 SVN,这篇讲的很易懂; 另外可以利用工具自带的帮助功能查询常用命令: repo repo help git help git help [command] |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |